home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2006 February
/
Gamestar_81_2006-02_dvd.iso
/
Red Shark
/
Missions
/
Mission_15
/
MissionTasks.script
< prev
next >
Wrap
Text File
|
2001-11-12
|
6KB
|
232 lines
//-------------------------------------------------------------------
//
// This code is copyright 2001 by G5 Software.
// Any unauthorized usage, either in part or in whole of this code
// is strictly prohibited. Violators WILL be prosecuted to the
// maximum extent allowed by law.
//
//-------------------------------------------------------------------
///////////////////////////////////
//
// Mission 15 -- Survival
//
///////////////////////////////////
class CMission15_AIController extends CBaseAIController, CNavPointUser, CSurvivalMission_Strings
{
array ActivatePointCenterList = array(
vector( 6622, 4148, 0 ) //
); //
array ActivatePointRadiusList = array(
100.0 //
);
array ActivatePointNameList = array(
"A"
);
int MissionStartTime = 0; // Time initialized
final int m_GTobruqStartTime = 5000;
final int m_GAqaliaStartTime = 20000;
final int m_GBenghaziStartTime = 30000;
final int m_BwairatStartTime = 105000;
boolean GTobruqStarted = false;
boolean GAqaliaStarted = false;
boolean GBenghaziStarted = false;
boolean BwairatStarted = false;
void Init( int _Time )
{
MissionStartTime = _Time;
}
void Update( int _Time )
{
if ( (_Time>= (MissionStartTime + m_GTobruqStartTime)) && ( !GTobruqStarted ) )
{
GTobruqStarted = true;
Core_SendEventTo( "Helicopter",
"OnDisplayMessage",
str_TobruqPatrol,
color(1.0, 0.0, 0.0));
Core_BroadcastEvent("GTobruqStarted");
}
if ( (_Time>= (MissionStartTime + m_GAqaliaStartTime)) && ( !GAqaliaStarted ) )
{
GAqaliaStarted = true;
Core_SendEventTo( "Helicopter",
"OnDisplayMessage",
str_AqaliaPatrol,
color(1.0, 0.0, 0.0));
Core_BroadcastEvent("GAqaliaStarted");
}
if ( (_Time>= (MissionStartTime + m_GBenghaziStartTime)) && ( !GBenghaziStarted ) )
{
GBenghaziStarted = true;
Core_SendEventTo( "Helicopter",
"OnDisplayMessage",
str_BenghaziPatrol,
color(1.0, 0.0, 0.0));
Core_BroadcastEvent("GBenghaziStarted");
}
if ( (_Time>= (MissionStartTime + m_BwairatStartTime)) && ( !BwairatStarted ) )
{
BwairatStarted = true;
Core_BroadcastEvent("BwairatStarted");
}
}
boolean m_ConvoyGetNavPoint = false;
boolean m_BwairatGetNavPoint = false;
void OnObjectEnterArea( int _AreaIndex, string _NavPointName, string _ObjectID)
{
if ( Core_IsStringStartsWith( _NavPointName, "NavPoint_02") && Core_IsStringStartsWith( _ObjectID, "15_G") && !m_ConvoyGetNavPoint )
{
m_ConvoyGetNavPoint = true;
Core_SendEventTo( "Helicopter",
"OnDisplayMessage",
str_GermanConvoyRichThePoint,
color(1.0, 0.0, 0.0));
Core_BroadcastEvent("ConvoyGetNavPoint_02");
}
if ( Core_IsStringStartsWith( _NavPointName, "NavPoint_03") && Core_IsStringStartsWith( _ObjectID, "15_Bwairat") && !m_BwairatGetNavPoint )
{
m_BwairatGetNavPoint = true;
Core_BroadcastEvent("BwairatStopped");
}
}
}
//================================================================================
class C15_GTobruq extends CNavPointUser, CBaseAITask_Patrol
{
array GetPatrolTrip()
{
return array (GetNavPoint("NavPoint_01"),
GetNavPoint("NavPoint_02"),
GetNavPoint("NavPoint_03"));
}
float GetTripSpeed()
{
return 25;
}
void Init()
{
DeactivatePatrol();
}
void GTobruqStarted()
{
ActivatePatrol();
}
void OnEnemyOnRadar()
{
}
void Wave1MemberStopped( string _idConvoy )
{
if ( _idConvoy == "Tobruq")
{
DeactivatePatrol();
}
}
}
//----------------------------------------------------------------------------
class C15_GAqalia extends C15_GTobruq
{
float GetTripSpeed()
{
return 28;
}
void GTobruqStarted()
{
}
void GAqaliaStarted()
{
ActivatePatrol();
}
void Wave1MemberStopped( string _idConvoy )
{
if ( _idConvoy == "Aqalia")
{
DeactivatePatrol();
}
}
}
//---------------------------------------------------------------------------
class C15_GBenghazi extends C15_GTobruq
{
float GetTripSpeed()
{
return 25;
}
void GTobruqStarted()
{
}
void GBenghaziStarted()
{
ActivatePatrol();
}
void Wave1MemberStopped( string _idConvoy )
{
if ( _idConvoy == "Benghazi")
{
DeactivatePatrol();
}
}
}
//---------------------------------------------------------------------------------
class C15_GBenghaziTank extends C15_GBenghazi
{
float GetTripSpeed()
{
return 25;
}
void GTobruqStarted()
{
}
void GBenghaziStarted()
{
ActivatePatrol();
}
void OnEnemyOnRadar()
{
}
void Wave1MemberStopped( string _idConvoy )
{
if ( _idConvoy == "Benghazi")
{
DeactivatePatrol();
}
}
}
//----------------------------------------------------------------------------------
class C15_Bwairat extends C15_GTobruq
{
array GetPatrolTrip()
{
return array (GetNavPoint("NavPoint_02"),
GetNavPoint("NavPoint_03"));
}
float GetTripSpeed()
{
return 25;
}
void GTobruqStarted()
{
}
void BwairatStarted()
{
ActivatePatrol();
}
void BwairatStopped( )
{
DeactivatePatrol();
}
void Wave1MemberStopped( string _idConvoy )
{
}
}